/*
 * @Description: 
 * @Author: 于子续
 * @Date: 2024-09-03 15:53:55
 * @LastEditors: 于子续
 * @LastEditTime: 2024-09-03 15:54:12
 */
package day07;

import java.util.Scanner;

public class PerfectNumberChecker {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个整数: ");
        int number = scanner.nextInt();

        if (isPerfectNumber(number)) {
            System.out.println(number + " 是一个完全数。");
        } else {
            System.out.println(number + " 不是一个完全数。");
        }
        scanner.close();
    }
    // 判断一个数是否为完全数
    public static boolean isPerfectNumber(int num) {
        if (num <= 1) {
            // 根据定义，1和所有负数都不是完全数
            return false;
        }
        int sum = 0;
        // 遍历从1到num-1的所有数，计算它们的和
        for (int i = 1; i < num; i++) {
            if (num % i == 0) { // 如果i是num的因数
                sum += i;
            }
        }
        // 如果sum等于num，则num是完全数
        return sum == num;
    }
}